#ifndef _GATE_SESSION_MANAGER_H_
#define _GATE_SESSION_MANAGER_H_

#include "Define.h"
#include <map>
#include <vector>
#include "msg_public.h"

class CGateSessionBase;
class CGateSessionManager
{
    SINGLETON_CLASS_DEFINE(CGateSessionManager);

public:
	void AddGateSession(s32 gateid, CGateSessionBase *gateSession);
	void RemoveGateSession(s32 gateid);
	CGateSessionBase* FindGateSession(s32 gateid);
	void DumpGateInfo(std::vector<publicproto::GateStatus> &infos);

private:
	std::map<s32, CGateSessionBase*> m_gates;
};

#endif

